#define  _CRT_SECURE_NO_WARNINGS


#include<stdio.h>

//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int i = 0;
//	int sum = 1;
//	for (i = n; i > 1; i--)
//	{
//		sum += 1;
//		sum *= 2;
//	}
//	printf("%d\n", sum);
//
//	return 0;
//}
#include<math.h>



//int main()
//{
//	int a = 0;
//	scanf("%d", &a);
//	double n = 0;
//	double x = 1.0;
//	while (fabs(x - n) > pow(10, -5))
//	{
//		n = x;
//		x = (n + a / n) / 2;
//	}
//	printf("%.3lf\n", x);
//
//	return 0;
//}


//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int i = 0;
//	int arr[101] = { 0 };
//	for (i = 2; i < n; i++)
//	{
//		if ()
//			printf("%d\n", i);
//	}
//	//int sz = sizeof(arr) / sizeof(arr[0]);
//	//for (i = 0; i < sz; i++)
//	//{
//	//	printf("%d\n", arr[i]);
//	//}
//
//	return 0;
//}



//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int i = 0;
//	int count = 0;
//	for (i = 2; i < n; i++)
//	{
//		int j = 0;
//		count = 0;
//		for (j = 2; j < i; j++)
//		{
//			if (i % j == 0)
//				count++;
//		}
//		if (0 == count)
//			printf("%d\n", i);
//	}
//
//	return 0;
//}
#include<stdlib.h>


//int cmp_int(const void* e1, const void* e2)
//{
//	return *(int*)e1 - *(int*)e2;
//}
//int main()
//{
//	int arr[10] = { 0 };
//	int i = 0;
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	int min = arr[0];
//	for (i = 0; i < sz; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	qsort(arr, sz, sizeof(arr[0]), cmp_int);
//	for (i = 0; i < sz; i++)
//	{
//		printf("%d\n", arr[i]);
//	}
//
//	return 0;
//}



//int main()
//{
//	int arr[3][3] = { 0 };
//	int i = 0;
//	int j = 0;
//	int Mainsum = 0;
//	int Subsum = 0;
//	for (i = 0; i < 3; i++)
//	{
//		for (j = 0; j < 3; j++)
//		{
//			scanf("%d", &arr[i][j]);
//		}
//	}
//	for (i = 0; i < 3; i++)
//	{
//		for (j = 0; j < 3; j++)
//		{
//			if (i == j)
//				Mainsum += arr[i][j];
//			if (i + j == 2)
//				Subsum += arr[i][j];
//		}
//	}
//	printf("%d %d\n", Mainsum, Subsum);
//
//	return 0;
//}



//int cmp_int(const void* e1, const void* e2)
//{
//	return *(int*)e1 - *(int*)e2;
//}
//int main()
//{
//	int arr[20] = { 0 };
//	int n = 0;
//	int i = 0;
//	for (i = 0; i < 9; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	scanf("%d", &n);
//	for (i = 10; i > 0; i--)
//	{
//		arr[i] = arr[i - 1];
//	}
//	arr[0] = n;
//	qsort(arr, 10, sizeof(int), cmp_int);
//	for (i = 0; i < 10; i++)
//	{
//		printf("%d\n", arr[i]);
//	}
//
//	return 0;
//}i


//int cmp_int(const void* e1, const void* e2)
//{
//	return *(int*)e1 - *(int*)e2;
//}
//int main()
//{
//	int arr[10] = { 0 };
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	qsort(arr, 10, sizeof(int), cmp_int);
//	for (i = 0; i < 10; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//
//	return 0;
//}



void reverse(int* left, int* right)
{
	while (left < right)
	{
		int temp = *left;
		*left = *right;
		*right = temp;
		left++;
		right--;
	}
}
int main()
{
	int arr[10] = { 0 };
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		scanf("%d", &arr[i]);
	}
	int sz = sizeof(arr) / sizeof(arr[0]);
	reverse(arr, arr + sz - 1);
	for (i = 0; i < sz; i++)
	{
		printf("%d ", arr[i]);
	}

	return 0;
}